Misc const tweaks.
authorrobertl <robertl>
Tue, 19 Aug 2008 19:29:16 +0000 (19:29 +0000)
committerrobertl <robertl>
Tue, 19 Aug 2008 19:29:16 +0000 (19:29 +0000)
14 files changed:
bcr.c
defs.h
garmin_tables.c
garmin_tables.h
gcdb.c
geoniche.c
igo8.c
mtk_logger.c
osm.c
palmdoc.c
raymarine.c
unicsv.c
util.c
xmldoc/chapters/use.xml

diff --git a/bcr.c b/bcr.c
index fd78de045b84c855f1d28f4bba3eeae5c11a00c6..690aed3ee9f59292adefedcd92d746b1e2749956 100644 (file)
--- a/bcr.c
+++ b/bcr.c
@@ -77,9 +77,9 @@ arglist_t bcr_args[] = {
 };
 
 typedef struct {
-       char *bcr_name;
-       char *mps_name;
-       char *symbol_DE;
+       const char *bcr_name;
+       const char *mps_name;
+       const char *symbol_DE;
        int  warned;
 } bcr_icon_mapping_t;
 
@@ -145,10 +145,10 @@ bcr_handle_icon_str(const char *str, waypoint *wpt)
        }
 }
 
-static char *
+static const char *
 get_bcr_icon_from_icon_descr(const char *icon_descr)
 {
-       char *result = BCR_DEF_ICON;
+       const char *result = BCR_DEF_ICON;
        
        if (icon_descr) {
                bcr_icon_mapping_t *m;
@@ -378,7 +378,7 @@ bcr_route_header(const route_head *route)
        i = 0;
        QUEUE_FOR_EACH(&route->waypoint_list, elem, tmp) 
        {
-               char *icon;
+               const char *icon;
                waypoint *wpt = (waypoint *) elem;
 
                i++;
diff --git a/defs.h b/defs.h
index d96dfda3dffb86efcc304bb2585d0dd35d8c9e2e..2b5528d0c02776795fecbfd7c6ccdb9354bd7ac4 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -656,14 +656,14 @@ void      vmem_realloc(vmem_t*, size_t);
 #define ARG_TERMINATOR {0, 0, 0, 0, 0, ARG_NOMINMAX}
 
 typedef struct arglist {
-       char *argstring;
+       const char *argstring;
        char **argval;
-       char *helpstring;
-       char *defaultvalue;
-       gbuint32 argtype;
-       char *minvalue;         /* minimum value for numeric options */
-       char *maxvalue;         /* maximum value for numeric options */
-       char *argvalptr;        /* !!! internal helper. Not used in definitions !!! */
+       const char *helpstring;
+       const char *defaultvalue;
+       const gbuint32 argtype;
+       const char *minvalue;           /* minimum value for numeric options */
+       const char *maxvalue;           /* maximum value for numeric options */
+       const char *argvalptr;  /* !!! internal helper. Not used in definitions !!! */
 } arglist_t;
 
 typedef enum {
@@ -717,7 +717,7 @@ typedef struct ff_vecs {
        ff_write write;
        ff_exit exit;
        arglist_t *args;
-       char *encode;
+       const char *encode;
        int fixed_encode;
        position_ops_t position_ops;
        const char *name;               /* dyn. initialized by find_vec */
@@ -832,7 +832,7 @@ char * strip_html(const utf_string*);
 char * strip_nastyhtml(const char * in);
 char * convert_human_date_format(const char *human_datef);     /* "MM,YYYY,DD" -> "%m,%Y,%d" */
 char * convert_human_time_format(const char *human_timef);     /* "HH+mm+ss"   -> "%H+%M+%S" */
-char * pretty_deg_format(double lat, double lon, char fmt, char *sep, int html);   /* decimal ->  dd.dddd or dd mm.mmm or dd mm ss */
+char * pretty_deg_format(double lat, double lon, char fmt, const char *sep, int html);   /* decimal ->  dd.dddd or dd mm.mmm or dd mm ss */
 
 char * get_filename(const char *fname);                                /* extract the filename portion */
 
@@ -855,9 +855,9 @@ char * get_filename(const char *fname);                             /* extract the filename portion */
 /* this lives in gpx.c */
 time_t xml_parse_time( const char *cdatastr, int * microsecs );
        
-xml_tag *xml_findfirst( xml_tag *root, char *tagname );
-xml_tag *xml_findnext( xml_tag *root, xml_tag *cur, char *tagname );
-char *xml_attribute( xml_tag *tag, char *attrname );
+xml_tag *xml_findfirst( xml_tag *root, const char *tagname );
+xml_tag *xml_findnext( xml_tag *root, xml_tag *cur, const char *tagname );
+char *xml_attribute( xml_tag *tag, const char *attrname );
 
 char * rot13( const char *str );
 
index 7524bb97cd3ce91311906f082de1d26d9c619987..956612b78b950e3b45abbbf6c5373f3840be0ea7 100644 (file)
@@ -603,8 +603,8 @@ char *gt_display_mode_names[] = {
 };
 
 typedef struct {
-       char *shortname;
-       char *longname;
+       const char *shortname;
+       const char *longname;
        grid_type grid;
 } grid_mapping_t;
 
@@ -624,8 +624,8 @@ grid_mapping_t gt_mps_grid_names[] =
 /* gt_mps_datum_names: */
 
 typedef struct {
-       char *jeeps_name;
-       char *mps_name;
+       const char *jeeps_name;
+       const char *mps_name;
 } datum_mapping_t;
 
 /* will be continued (when requested) */       
@@ -647,7 +647,7 @@ static datum_mapping_t gt_mps_datum_names[] =
 };
 
 typedef struct garmin_color_s {
-       char *name;
+       const char *name;
        gbint32 rgb;
 } garmin_color_t;
 
index d23ede9cc471ece810f96ae1d7d452588a4656f1..c1a23b5e600affea1defc768352b3276c4e7c929 100644 (file)
@@ -61,8 +61,8 @@ extern char *gt_waypt_class_names[];
 
 typedef struct gt_country_code_s 
 { 
-       char *cc; 
-       char *country; 
+       const char *cc; 
+       const char *country; 
 } gt_country_code_t;
 
 extern gt_country_code_t gt_country_codes[];
diff --git a/gcdb.c b/gcdb.c
index 0509e65466e4853510d761b9c25e54b04b426bbf..585f7c34b339dc87dc64be84870b79b00c183c68 100644 (file)
--- a/gcdb.c
+++ b/gcdb.c
@@ -179,7 +179,7 @@ data_read(void)
 
 
 static int 
-gcdb_add_to_rec(struct dbrec *rec, char *fldname, gcdb_rectype rectype, void *data)
+gcdb_add_to_rec(struct dbrec *rec, const char *fldname, gcdb_rectype rectype, void *data)
 {
        int length;
        static int rec_cnt;
index d9a6c0f531525a3209c37eaf24698637315dd717..205d5847d07e6377192d5ec35111a35365850559 100644 (file)
@@ -359,7 +359,7 @@ geoniche_read_asc(void)
     } 
 }
 
-static char *geoniche_icon_map[] =                     /* MPS */
+static const char *geoniche_icon_map[] =                       /* MPS */
 {
         /* 21 */ "Cross",
         /* 22 */ "Cross (light)",                      
diff --git a/igo8.c b/igo8.c
index cb9576f6599933ddf0a6359db510c843b7905df2..3f8f72b4b0df77cf1ca11f3c9b74e2df1eaeba92 100644 (file)
--- a/igo8.c
+++ b/igo8.c
@@ -309,8 +309,8 @@ void write_header()
        igo8_id_block tmp_id_block;
        p_igo8_id_block id_block = (p_igo8_id_block)header;
        gbuint32 current_position = 0;
-       char* title = "Title";
-       char* description = "Description";
+       const char* title = "Title";
+       const char* description = "Description";
 
        // These values seem to be constant for me, but I have no idea what they are.
        tmp_id_block.unknown_1 = 0x0000029B;
@@ -384,5 +384,3 @@ ff_vecs_t igo8_vecs = {
        CET_CHARSET_UTF8, 
        1
 };
-
-                
index 12273658e299d037f481cff0f1b7a8f274c20eee..e056d6477c4e97b64d73b10354ffac8692315813 100644 (file)
@@ -754,7 +754,7 @@ static void mtk_csv_deinit(void){
 static int csv_line(gbfile *csvFile, int idx, unsigned long bmask, struct data_item *itm){
    struct tm *ts_tm;
    char ts_str[30];
-   char *fix_str = "";
+   const char *fix_str = "";
 
    ts_tm = gmtime(&(itm->timestamp));
    strftime(ts_str, sizeof(ts_str)-1, "%Y/%m/%d,%H:%M:%S", ts_tm);
diff --git a/osm.c b/osm.c
index 0835d3bd443c8ab252ff9e6e504f4404ec099b99..54c3aae33077c17b35caf25778d1509f713c9776 100644 (file)
--- a/osm.c
+++ b/osm.c
@@ -65,7 +65,7 @@ xg_tag_mapping osm_map[] = {
        { NULL,         0,              NULL }
 };
 
-static char *osm_features[] = {
+static const char *osm_features[] = {
        "- dummy -",    /*  0 */
        "aeroway",      /*  1 */
        "amenity",      /*  2 */
index 004e534e7834ae9fa0fe98aca027ac64450f1ab5..d6f0b55e641e4c63cc8d64ded87dbdf6d1a1ba6e 100644 (file)
--- a/palmdoc.c
+++ b/palmdoc.c
@@ -309,7 +309,7 @@ static void create_bookmark( char *bmtext ) {
        bookmark_tail = newmark;
 }      
 
-static void docprintf( int maxlen, char *format, ... ) {
+static void docprintf( int maxlen, const char *format, ... ) {
 
     char *txt = NULL;
     char *txt2 = NULL;
index adc4e38d4defefcf86f373481cbd0176f413bee4..b7c9f0c33d2adb8116bab5d97a4d86ff0d6d8f5c 100644 (file)
@@ -80,8 +80,8 @@ arglist_t raymarine_args[] =
 /* Bitmaps */
 
 typedef struct {
-       char *name;
-       char *mps_name;
+       const char *name;
+       const char *mps_name;
 } raymarine_symbol_mapping_t;
 
 static raymarine_symbol_mapping_t raymarine_symbols[] = {
@@ -387,7 +387,7 @@ static void
 write_route_wpt_cb(const waypoint *wpt)
 {
        int i;
-       static char *items[] = {
+       static const char *items[] = {
                "Cog",
                "Eta",
                "Length",
index cdbc7d627f5ee9fc0381bac38249296884707d7f..1237bd7d82aa0a587dae0d83f73c5370d6be7fa4 100644 (file)
--- a/unicsv.c
+++ b/unicsv.c
@@ -109,7 +109,7 @@ typedef enum {
 #define unicsv_unknown 1e25
 
 typedef struct {
-       char *name;
+       const char *name;
        field_e type;
        gbuint32 options;
 } field_t;
@@ -215,7 +215,7 @@ static field_e *unicsv_fields_tab;
 static int unicsv_fields_tab_ct;
 static double unicsv_altscale, unicsv_depthscale, unicsv_proximityscale
 ;
-static char *unicsv_fieldsep;
+static const char *unicsv_fieldsep;
 static gbfile *fin, *fout;
 static gpsdata_type unicsv_data_type;
 static route_head *unicsv_track, *unicsv_route;
diff --git a/util.c b/util.c
index 07bd7355ee8ef698ffb6420c98559043344a4fd7..175f42750439c8ee39a3d08686cd94eb63b7d47a 100644 (file)
--- a/util.c
+++ b/util.c
@@ -621,7 +621,8 @@ char *
 strenquote(const char *str, const char quot_char)
 {
        int len;
-       char *cin, *cout;
+       const char *cin;
+       char *cout;
        char *tmp;
 
        if (str == NULL) cin = "";
@@ -1371,7 +1372,7 @@ convert_human_time_format(const char *human_timef)
  * html = 1 for html output otherwise text
  */
 char *
-pretty_deg_format(double lat, double lon, char fmt, char *sep, int html) 
+pretty_deg_format(double lat, double lon, char fmt, const char *sep, int html) 
 {
        double  latmin, lonmin, latsec, lonsec;
        int     latint, lonint;
@@ -1695,7 +1696,7 @@ xml_tag *xml_next( xml_tag *root, xml_tag *cur )
        return cur;
 }
 
-xml_tag *xml_findnext( xml_tag *root, xml_tag *cur, char *tagname ) 
+xml_tag *xml_findnext( xml_tag *root, xml_tag *cur, const char *tagname ) 
 {
        xml_tag *result = cur;
        do {
@@ -1704,12 +1705,12 @@ xml_tag *xml_findnext( xml_tag *root, xml_tag *cur, char *tagname )
        return result;
 }
 
-xml_tag *xml_findfirst( xml_tag *root, char *tagname )
+xml_tag *xml_findfirst( xml_tag *root, const char *tagname )
 {
        return xml_findnext( root, root, tagname );
 }
 
-char *xml_attribute( xml_tag *tag, char *attrname ) 
+char *xml_attribute( xml_tag *tag, const char *attrname ) 
 {
        char *result = NULL;
        if ( tag->attributes ) {
index 6c5a2970ba4d880d82df3fe6ffb1921a10c018b6..68b60d459b08aaed438f2592fbdec8601ba879ee 100644 (file)
@@ -287,19 +287,44 @@ merged data to multiple destinations.
       Introduced in GPSBabel 1.3.1, we now have an <emphasis>experimental</emphasis>  feature for realtime tracking via the new <option>-T</option> option.  This reads position reports from selected formats and writes an output file when a position report is received. 
     </para>
     <para>
-         As of this writing, Garmin's PVT protocol and NMEA are supported 
+      As of this writing, <link linkend="fmt_garmin">Garmin's PVT
+        protocol</link>  and 
+      <link linkend="fmt_nmea">NMEA</link>  are supported 
          inputs. KML, NMEA, and the variou XCSV formats are supported on 
          output.   Additional formats may be added by interested parties 
          later.
     </para>
 <example>
   <title>Read realtime positioning from Garmin USB, write to Keyhole Markup</title>
-    <para><userinput>gpsbabel -T -i garmin -f usb: -o kml -F xxx.kml</userinput></para>
-</example>
-    <para>
+  <para><userinput>gpsbabel -T -i garmin -f usb: -o kml -F xxx.kml</userinput></para>
+  <para>
          Will read the USB-connected Garmin and rewrite 'xxx.kml' atomically,
-         suitable for a self-refreshing network link in Google Earth.
-    </para>
+          suitable for a self-refreshing network link in Google Earth.
+        </para>
+      </example>
+
+<example>
+  <title>Read realtime positioning from Wintec WBT-201 via Bluetooth on Mac, write to Keyhole Markup</title>
+  <para><userinput>gpsbabel -T -i nmea -f /dev/cu.G-Rays2-SPPslave-1 -o kml -F xxx.kml</userinput></para>
+  <para>
+    Will read the Wintec WBT-201 via Bluetooth, using the name that
+    the Mac assigned it, and rewrite 'xxx.kml' atomically,
+          suitable for a self-refreshing network link in Google Earth.
+        </para>
+</example>
+
+
+        <para>
+          Be sure to substitute an device name appropriate for your device
+          and OS, such as <filename>/dev/cu.usbserial</filename> or
+          <filename>/dev/cu.BT-GPS-37A695-BT-GPSCOM-1</filename>
+          for Mac, <filename>COM23:</filename> for Windows, or
+          <filename>usb:</filename> for
+          <link linkend="fmt_garmin">Garmin USB</link>.    These names
+            (except the "usb:" parlance for Garmin USB) are assigned by
+            your operating system.
+
+        </para>
 </sect1>
 
 <sect1 id="batchfile">